import {
  env,
  getCurrentMode,
  getEnvType,
  debugLog,
  isDevelopment
} from '@/utils/env'

/**
 * 应用初始化脚本
 * 仅在开发环境(dev)和测试环境(test)下执行
 */
const initApp = () => {
  const currentMode = getCurrentMode()
  const envType = getEnvType()

  // 只在开发环境和测试环境下执行
  if (currentMode === 'production' || currentMode === 'prod') {
    console.log('🚀 生产环境 - 跳过初始化脚本')
    return
  }

  // 输出环境信息
  console.log('🚀 应用初始化开始...')
  console.log('📋 应用信息:', {
    名称: env.APP_TITLE,
    版本: env.APP_VERSION,
    环境: env.APP_ENV,
    模式: currentMode,
    类型: envType,
    调试模式: env.APP_DEBUG
  })

  // 在开发环境下输出更多调试信息
  if (isDevelopment) {
    debugLog('🔧 开发环境配置:', {
      API地址: env.API_BASE_URL,
      API超时: env.API_TIMEOUT,
      日志级别: env.LOG_LEVEL
    })
  }

  // 设置全局错误处理（仅在非生产环境）
  if (typeof window !== 'undefined') {
    window.addEventListener('error', event => {
      console.error('🚨 全局错误:', event.error)
    })

    window.addEventListener('unhandledrejection', event => {
      console.error('🚨 未处理的Promise拒绝:', event.reason)
    })
  }

  console.log('✅ 应用初始化完成')
}

// 自动执行初始化
initApp()
